package com.it.base.support.string;

import java.io.UnsupportedEncodingException;


/**
 * 
 * @author wdh
 *
 */
public class Base64Util{
	
	
	/**
	 * 
	 * 功能描述:进行Base64编码(加密)
	 * @param binaryData 需编码(加密)的 Byte数组
	 * @return 编码(加密)后的字符串
	 */
	public static String encode(byte[] binaryData) {
		return com.sun.org.apache.xerces.internal.impl.dv.util.Base64
				.encode(binaryData);
	}

	/**
	 * 
	 * 功能描述:进行Base64编码(加密)
	 * 
	 * @param str
	 *            需编码(加密)的字符串
	 * @return 编码(加密)后的字符串
	 */
	public static String encode(String str) {
		try {
			byte [] by=str.getBytes("UTF-8");
			return encode(by);
		} catch (UnsupportedEncodingException e) {
//			log.info("异常:", e);
		}
		return null;
	}

	/**
	 * 
	 * 功能描述:进行Base64解码(解密)
	 * 
	 * @param base64Str
	 *            需解码(解密)的字符串
	 * @return 解码(解密)后的字符串
	 */
	public static String decode(String base64Str) {
		byte[] bs = decodeByte(base64Str);
		String edcode=null;
		try {
			edcode = new String(bs,"UTF-8");
		} catch (UnsupportedEncodingException e) {
//			log.info("异常:", e);
		}
		return edcode;
	}
	/**
	 * 
	 * 功能描述:进行Base64解码(解密)
	 * @param base64Str 需解码(解密)的字符串
	 * @return 解码(解密)后的Byte 数组
	 */
	public static byte[] decodeByte(String base64Str) {
		return com.sun.org.apache.xerces.internal.impl.dv.util.Base64
				.decode(base64Str);
	}


}
